//
// Created by kevin on 2024/11/26.
//

#ifndef CPLUS_TEST_LTE_TYPE_H
#define CPLUS_TEST_LTE_TYPE_H

#include<string>
#include<iostream>

typedef unsigned char    u8;

typedef struct{
    double real;
    double image;
}sComplex;


typedef struct {
    std::string TMN;
    std::string BW;
    unsigned int NDLRB;
    unsigned int CellRefP;
    unsigned int NCellID;
    std::string CyclicPrefix;
    unsigned int CFI;
    std::string Ng;
    std::string PHICHDuration;
    unsigned int NSubframe;
    unsigned int TotSubframes;
    unsigned int Windowing;
    unsigned int SSC;
    unsigned int TDDConfig;
    double* Nfft;
    std::string  DuplexMode;
    double PDSCHPowerBoosted;
    double PDSCHPowerDeboosted;
} sTM;


typedef struct {
    std::string TxScheme;
    std::string Modulation;
    unsigned int NLayers;
}sCHS;

typedef struct{
    unsigned int Nfft;
    unsigned int *CPsize;
    unsigned int SamplingRate;
}sLteOfdmInfo;

typedef struct{
    std::string SubframeType;
    int NSymbols;
    int NSymbolsDL;
    int NSymbolsGuard;
    int NSymbolsUL;
}sDuplexInfo;

#endif //CPLUS_TEST_LTE_TYPE_H
